﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//
using DO.Domain.Repositories;
using DO.Common.Messages;

namespace DO.Domain.TransManager
{
    public interface ITransManager : IDisposable
    {
        TResult ExecuteCommand<TResult>(Func<Repositories.IRepositoryLocator, TResult> command)
            where TResult : class, IResponseDTOEnvelop;

        void BeginTransaction();
        void CommitTransaction();
        void RollbackTransaction();
    }
}
